The libart library

Mathieu Lacage

Table of Contents
What is Libart ?
Introduction
File names
LibArt's overall architecture
Using libart
From vector data to pixel buffers
Sample code
A non-displaying application
A displaying application
Basic APIs
Miscealeanous useful APIs
Memory Management -- Memory Management API for libart users.
Affine transformation matrices -- Instantiate and manipulate Affine transforms.
Art Alpha Gamma Stuff -- Gamma-correct your image data.
Construction APIs
Core Construction APIs -- Core construction API.
Extended Construction APIs -- Extended Construction API
Transformation operations -- Transformations which can be applied to bpaths or vpaths.
Rendering APIs
SVPs -- Manipulating SVPs
Svp rendering -- How to actually render SVPs into pixel buffers.
Known problems
Numerical Stability
Memory Footprint
Libart Internals
Rasterizer
Winding Number Calculation.
How libart does this for true.
Intersector
GNU Free Documentation License
0. PREAMBLE
1. APPLICABILITY AND DEFINITIONS
2. VERBATIM COPYING
3. COPYING IN QUANTITY
4. MODIFICATIONS
5. COMBINING DOCUMENTS
6. COLLECTIONS OF DOCUMENTS
7. AGGREGATION WITH INDEPENDENT WORKS
8. TRANSLATION
9. TERMINATION
10. FUTURE REVISIONS OF THIS LICENSE
Addendum